package com.lujianing.util;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.lang.reflect.Type;

/**
 * Created by lujianing on 14-2-21.
 */
public class JsonUtil {
    private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create();

    /**
     * 把一个对象转换成json字符串
     * @param object
     * @return
     */
    public static String toJson(Object object){
        return gson.toJson(object);
    }

    /**
     * 把json字符串转换成一个对象
      * @param json
     * @param clazz 对象类型
     * @param <T>
     * @return
     */
    public static <T> T fromJson(String json,Class<T> clazz){
       return gson.fromJson(json,clazz);
    }

    /**
     * 支持列表类型转换 比如：TypeToken<List<Person>>(){}.getType()
     * @param json
     * @param type  new TypeToken<List<Person>>(){}.getType()
     * @param <T>
     * @return
     */
    public static <T> T fromJson(String json,Type type){
        return gson.fromJson(json,type);
    }
}
